package com.cs.pk.job;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.jobs.Job;

public abstract class BuildJob extends Job{


	public BuildJob(String name) {
		super(name);
	}

	
//	public void runAsyncJob(final boolean isLocal) {
//		PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
//			public void run() {
//				if(isLocal) {
//					try {
//						new LocalBuildJob(bName).startBuilding();
//					} catch (IOException e) {
//						Util
//						.showMessage(e.getMessage(), "BuildError",
//								MessageDialog.ERROR);
//					} catch (InterruptedException e) {
//						Util
//						.showMessage(e.getMessage(), "BuildError",
//								MessageDialog.ERROR);
//					} catch (BuildException e) {
//						Util
//						.showMessage(e.getMessage(), "BuildError",
//								MessageDialog.ERROR);
//					}
//				}
//			}
//		});
//	}
	

	protected abstract IStatus run(IProgressMonitor monitor) ;
	
	public abstract void showMessage();
	
	public abstract void showErrorMessage();

}
